# Setup

## GNU+Linux

(Please check the project README.md for instructions for Arch Linux, Void etc.)

### Alpine Linux


### Build from source

**cbatticon:**

```
# Build deps:
sudo apk add make gcc gtk+3.0-dev libnotify-dev glib-dev pkgconf musl-dev

git clone --depth 1 https://github.com/valr/cbatticon.git
cd cbatticon
make
sudo make PREFIX="/usr" install
```

**jgmenu:**

```
# Build deps:
sudo apk add make gcc libx11-dev librsvg-dev pkgconf

git clone --depth 1 https://github.com/johanmalm/jgmenu.git
cd jgmenu
./configure --prefix=/usr
sudo make install
```

**ksuperkey:**

```
# Build deps:
sudo apk add make gcc libx11-dev libx11-dev pkgconf

git clone --depth 1 https://github.com/hanschen/ksuperkey.git
cd ksuperkey
make
sudo make PREFIX="/usr" install
```

## FreeBSD

### Install

Install packages:

```
sudo pkg install openbox tint2 jgmenu xdotool networkmgr gsimplecal rofi papirus-icon-theme volumeicon slim notification-daemon
```

**NOTE:** From all of these only openbox, tint2, jgmenu, xdotool, rofi are more or less required. Others can be skipped or other programs can be used instead with tweaking the config or otherwise.

We'll need Python Pip to install and use `dotdrop` later to apply our customization changes:

```
sudo pkg install py38-pip
```

Enable services for SLiM to work:

```
sudo sysrc slim_enable=yes
sudo sysrc dbus_enable="YES"
```

_If you don't want to use SLiM, you can skip the above._

Some packages like obmenu-generator, cbatticon, ksuperkey will have to be built from source. For instructions, please check [Build from source](#build-from-source) heading below.

Install `greeny_dark` theme for SLiM:

```
sudo cp -r misc/greeny_dark/ /usr/local/share/slim/themes/greeny_dark/
sudo sed -i'.bak' "s/\(^current_theme.*\)/#\1\ncurrent_theme  greeny_dark/" /usr/local/etc/slim.conf
```

Optionally, install these packages to configure:

```
sudo pkg install lxappearance obconf
```

### Build from source

**NOTE:** Building and installing from source directly means it will not update with the system. You'll have to update it manually yourself.

**cbatticon:**

```
# Build deps:
sudo pkg install gmake glib pkgconf

git clone --depth 1 https://github.com/valr/cbatticon.git
cd cbatticon
gmake
sudo gmake PREFIX="/usr/local" install
```

**ksuperkey:**

```
# Build deps:
sudo pkg install gmake libX11 libXtst pkgconf

git clone --depth 1 https://github.com/hanschen/ksuperkey.git
cd ksuperkey
gmake
sudo gmake PREFIX="/usr/local" install
```

**obmenu-generator:**

```
# Deps:
sudo pkg install perl5
cpan Linux::DesktopFiles
cpan Data::Dump
cpan Gtk3

git clone --depth=1 https://github.com/trizen/obmenu-generator.git
cd obmenu-generator
sed -i '.bak' 's|#!/usr/bin/perl|#!/usr/bin/env perl|' obmenu-generator
sed -i '.bak' 's|#!/usr/bin/perl|#!/usr/bin/env perl|' schema.pl
sudo cp obmenu-generator /usr/local/bin/obmenu-generator
sudo mkdir -p /usr/local/etc/xdg/obmenu-generator/
sudo cp schema.pl /usr/local/etc/xdg/obmenu-generator/schema.pl
```
